package sh.service.impl;

import sh.orm.SessionFactory;
import sh.model.Book;
import sh.model.CartItem;
import sh.service.CartItemService;
import sh.spring.annotation.Transactional;
import sh.util.BizException;

import java.util.List;

public class CartItemServiceImpl implements CartItemService {



	@Override
	public boolean add(CartItem cartItem){
		SessionFactory.getInstance().getSession().save(cartItem);
		return true;
	}

	@Override
	@Transactional
	public void addList(List<CartItem> cartItems) {
		for(CartItem cartItem : cartItems){
			add(cartItem);
		}
	}

	@Override
	public boolean add(Long cartId , Long bookId){
		Book book = SessionFactory.getInstance().getSession().getById(bookId, Book.class);
		if(book == null){
			throw new BizException("书籍信息不存在" + bookId);
		}
		CartItem cartItem = new CartItem();
		cartItem.setPrice(book.getPrice());
		cartItem.setProductName(book.getName());
		cartItem.setCartId(cartId);
		
		return add(cartItem);
	}
	@Override
	public void remove(Long id){
		SessionFactory.getInstance().getSession().delete(id , CartItem.class);
	}

	@Override
	public void remove(Long[] ids) {
	//		删除多个
		SessionFactory.getInstance().getSession().delete(ids , CartItem.class);
	}

	@Override
	public CartItem get(Long id) {
		return SessionFactory.getInstance().getSession().getById(id , CartItem.class);
	}

}
